<?php
declare(strict_types=1);

namespace LowCode\Naive;

use LowCode\Support\JsExp;

/**
 * Space组件
 * @method static static make(mixed $children = null) Space组件
 */
class Space extends Flex
{

    /**
     * 是否存在包裹子元素的容器，false 值只会对支持 flex gap 的浏览器生效
     * @param bool|JsExp $bool
     * @return $this
     */
    public function wrapItem(bool|JsExp $bool = true): static
    {
        return $this->prop('wrap-item', $bool);
    }

    /**
     * 节点类名，当 wrap-item 为 true 时有效
     * @param string|JsExp $itemClass
     * @return $this
     */
    public function itemClass(string|JsExp $itemClass): static
    {
        return $this->prop("item-class",$itemClass);
    }

    /**
     * 节点样式，当 wrap-item 为 true 时有效
     * @param string|array|JsExp $itemStyle
     * @return $this
     */
    public function itemStyle(string|array|JsExp $itemStyle): static
    {
        return $this->prop("item-style",$itemStyle);
    }

    /**
     * 是否反向排列内部元素
     * @param bool|JsExp $bool
     * @return $this
     */
    public function reverse(bool|JsExp $bool = true): static
    {
        return $this->prop('reverse', $bool);
    }
}
